package ma.co.ba.BusinessApplications.model;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "PRODUITS")
public class Produit implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int id;

	@Column(name = "NAME", length = 150)
	private String productName;

	@Column(name = "MATRICULE_PRODUIT", unique=true, length = 20)
	private String matriculeProduit;
	
	@OneToMany(mappedBy = "produit", fetch = FetchType.LAZY)
	private List<DAT> dats;

	@ManyToOne(fetch = FetchType.EAGER)
	private FamilleDeProduit familleDeProduit;

	public Produit() {

	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public List<DAT> getDats() {
		return dats;
	}

	public void setDats(List<DAT> dats) {
		this.dats = dats;
	}

	public FamilleDeProduit getFamilleDeProduit() {
		return familleDeProduit;
	}

	public void setFamilleDeProduit(FamilleDeProduit familleDeProduit) {
		this.familleDeProduit = familleDeProduit;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public String getMatriculeProduit() {
		return matriculeProduit;
	}

	public void setMatriculeProduit(String matriculeProduit) {
		this.matriculeProduit = matriculeProduit;
	}

	
}